// 自顶向下递归计算，存在重叠计算的子问题
package main

import "fmt"

func main() {
	v := fib(6)
	fmt.Println(v)
}

func fib(n int) int {
	if n <= 2 {
		return 1
	}

	return fib(n-1) + fib(n-2)
}
